package reflact.demo2_类对象的使用;

import java.lang.reflect.Field;

public class Test2 {
    public static void main(String[] args)throws Exception {
        Stu s=new Stu(1,"a1",3);
        Class<?> c=s.getClass();
        Field[]arr=c.getFields();
        arr=c.getDeclaredFields();
        //获取父类的类对象中的属性
        //arr=c.getSuperclass().getDeclaredFields();
        for(Field f:arr){
            System.out.println(f.getName()+","+f.getGenericType());
        }

        Field f=c.getDeclaredField("age");
        //修改该属性的访问权限
        f.setAccessible(true);
        //对于静态属性，可用null
        f.set(s,30);
        System.out.println(f.get(s));
    }
}
